package com.boot.learning.currencyutils;

import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;

/**
 * 对象转换工具类 
 * 
 * @since JDK1.8
 * @author vencano
 * @date 2017年1月14日 下午2:29:24
 */
public abstract class ObjectConvertUtils {

	/**
	 * bean对象转换 
	 * 
	 * @param source 原实体类
	 * @param targetClass 目标类型
	 * @return 转换后的目标类实体
	 * 
	 * @author vencano
	 * @date 2017年1月14日 下午3:00:53
	 */
	public static <S,T> T convertToClass(S source,Class<T> targetClass) {
		if(source == null) return null;
		Assert.notNull(source, "目标类型不能为空");
		T target = BeanUtils.instantiate(targetClass);
		BeanUtils.copyProperties(source, target);
		return target;
	}
	
}
